﻿Imports Microsoft.Xna.Framework
Imports Microsoft.Xna.Framework.Graphics

Namespace Global.Runa.Resources.ContentReader.VectorFont

    ''' <summary>Base class for vector font texts</summary>
    Public MustInherit Class Text

        ''' <summary>Vertices containing the text's outline or face coordinates</summary>
        Public Property Vertices() As VertexPositionNormalTexture()
            Get
                Return Me.m_vertices
            End Get
            Protected Set(value As VertexPositionNormalTexture())
                Me.m_vertices = value
            End Set
        End Property

        ''' <summary>
        '''   Indices describing which vertices to connect by lines or triangles
        ''' </summary>
        Public Property Indices() As Short()
            Get
                Return Me.m_indices
            End Get
            Protected Set(ByVal value As Short())
                Me.m_indices = value
            End Set
        End Property

        ''' <summary>Type of primitives to draw</summary>
        Public Property PrimitiveType() As PrimitiveType
            Get
                Return Me.m_primitiveType
            End Get
            Protected Set(value As PrimitiveType)
                Me.m_primitiveType = value
            End Set
        End Property

        ''' <summary>Total width of the string in world units</summary>
        Public Property Width() As Single
            Get
                Return Me.m_width
            End Get
            Protected Set(value As Single)
                Me.m_width = value
            End Set
        End Property

        ''' <summary>Total height of the string in world units</summary>
        Public Property Height() As Single
            Get
                Return Me.m_height
            End Get
            Protected Set(value As Single)
                Me.m_height = value
            End Set
        End Property

        ''' <summary>Vertices containing the text's outline or face coordinates</summary>
        Protected m_vertices As VertexPositionNormalTexture()
        ''' <summary>
        '''   Indices describing which vertices to connect by lines or triangles
        ''' </summary>
        Protected m_indices As Short()
        ''' <summary>Type of primitives to draw</summary>
        Protected m_primitiveType As PrimitiveType
        ''' <summary>Total width of the string in world units</summary>
        Protected m_width As Single
        ''' <summary>Total height of the string in world units</summary>
        Protected m_height As Single

    End Class

End Namespace